package com.zhdl.modules.spacer;

import com.zhdl.common.ytools.HexToBitTools;
import com.zhdl.hardware.plc.siemens.repository.impl.SiemensPortCmdHandleDaoImpl;
import com.zhdl.modules.puncturecable.web.PunctureCableProcess;
import com.zhdl.modules.spacer.service.SpacerPlCControlService;
import com.zhdl.modules.tools.CommonCallback;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ScheduledFuture;

@Slf4j
@Component
public class ProcessTest {
    public static String plcIp = "192.168.0.1:502";
  //  public static String plcIp = "127.0.0.1:502";
    @Resource
    private SiemensPortCmdHandleDaoImpl siemensPortCmdHandleDao;
    @Resource
    private SpacerPlCControlService controlService;
    @Resource
    public ThreadPoolTaskScheduler taskScheduler1;
    Map<String, ScheduledFuture<?>> mapSF = new HashMap<>();
    @Resource
    private PunctureCableProcess punctureCableProcess;
    public void init(){
        siemensPortCmdHandleDao.addPort(plcIp);
        controlService.readPlcSignal(s -> {
            log.info("当前plc信号量为:"+s);
        });
        taskScheduler1.scheduleWithFixedDelay(() ->
                controlService.readUpAndDownSignal(s -> {
                    log.info("当前字节为:" + s );
                    if (s.charAt(0) == '1'){
//                        punctureCab
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//                        +leProcess.tempRun(0);
                    } else if (s.charAt(12) == '1') {
//                        punctureCableProcess.tempRun(0);
                    }
                }), 100);
    }
}
